/**
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.server.bbdd.exceptions</code> agrupa las 
 * excepciones que se pueden producir en la gestión  del acceso a datos.
 */
package edu.uoc.tds.pec4.server.bbdd.exceptions;

import edu.uoc.tds.pec4.common.util.TDSLanguageUtils;

/**
 * La clase <code>GestorMantenimientoException</code> define las excepciones que se
 * pueden generar en GestorMantenimiento, tanto en la comunicación con el cliente, 
 * como en su acceso a la base de datos <br />
 * Clase que representa las excepciones que se pueden producir en GestorMantenimiento. <br />
 * 
 * Representa las excepciones de GestorMantenimiento
 * 
 * @author	Luis Rivas Mariño
 * @version	27/11/2011
 * @since	1.00
 */
public class GestorMantenimientoException extends Exception {

    /**
     * Excepción por error del servidor
     */
    public static final String ERROR_MANT_SERVIDOR = TDSLanguageUtils.getMessage("gmantenimiento.err.servidor");
    /**
     * Excepción por error en alta de un equipamiento
     */
    public static String ERROR_ALTA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.alta");
    /**
     * Excepción por error en baja de un equipamiento
     */
    public static String ERROR_BAJA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.baja");
    /**
     * Excepción por error en consulta de un equipamiento
     */
    public static String ERROR_CONSULTA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.consulta");
    /**
     * Excepción por error en modificación de un equipamiento
     */
    public static String ERROR_MODIFICA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.modificacion");

    /*
     * Excepción al reactivar el equipamiento
     */
    public static String ERROR_ALTALOGICA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.altalogica");
    /**
     * Excepción al obtener la lista de los equipamientos
     */
    public static String ERROR_LISTA_EQUIPAMIENTO = TDSLanguageUtils.getMessage("gmantenimiento.err.equipamiento.lista");
    /**
     * Excepcion por alta de un usuario
     */
    public static String ERROR_ALTA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.alta");
    /**
     * Excepción por error en baja de un usuario
     */
    public static String ERROR_BAJA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.baja");
    /**
     * Excepción por error en consulta de un usuario
     */
    public static String ERROR_CONSULTA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.consulta");
    /**
     * Excepción por error en modificación de un usuario
     */
    public static String ERROR_MODIFICA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.modificacion");
    /**
     * Excepción al reactivar un usuario
     */
    public static String ERROR_ALTALOGICA_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.altalogica");
    /**
     * Excepción al dar de alta la CC de un cliente
     */
    public static String ERROR_ALTA_CC = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.alta.cc");
    /**
     * Excepción al asignar un rol a un usuario
     */
    public static String ERROR_ALTA_USUARIO_ROL = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.altarol");
    /**
     * Excepción al desasignar un rol a un usuario
     */
    public static String ERROR_BAJA_USUARIO_ROL = TDSLanguageUtils.getMessage("err.dao.usuario.baja.rol");

    /**
     * Excepción al obtener la lista de roles asociada a un usuario
     */
    public static String ERROR_LISTA_ROLES = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.roles");
    /**
     * Excepción al comprobar si un usuario tiene un rol concreto
     */
    public static String ERROR_ROL_USUARIO = TDSLanguageUtils.getMessage("gmantenimiento.err.usuario.rol");
    /**
     * Excepcion por alta de un aula
     */
    public static String ERROR_ALTA_AULA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.alta");
    /**
     * Excepción por error en baja de un aula
     */
    public static String ERROR_BAJA_AULA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.baja");
    /**
     * Excepción por error en consulta de un aula
     */
    public static String ERROR_CONSULTA_AULA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.consulta");
    /**
     * Excepción por error en modificación de un aula
     */
    public static String ERROR_MODIFICA_AULA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.modificacion");

    /*
     * Excepción al realizar el alta lógica del aula
     */
    public static String ERROR_ALTALOGICA_AULA;
    
    /*
     * Excepción al obtener la lista de características físicas
     */
    public static String ERROR_LISTA_CFISICA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.cfisicas");
    
    /*
     * Excepción al asignar la lista de características físicas al aula
     */
    public static String ERROR_CFISICA_AULA = TDSLanguageUtils.getMessage("gmantenimiento.err.aula.listacfisicas");
    
    /**
     * Excepción al dar de alta una auditoría
     */
    public static String ERROR_ALTA_AUDITORIA= TDSLanguageUtils.getMessage("gmantenimiento.err.auditoria.alta");

    /**
     * Constructor de la clase GestorMantenimientoException.<br />
     * Construye una nueva excepcion del GestorMantenimiento con la causa especificada.<br />
     * @param   cause La causa de la excepción (se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public GestorMantenimientoException(Throwable cause) {
        super(cause);
    }

    /**
     * Constructor de la clase GestorMantenimientoException.<br />
     * Construye una nueva excepcion del GestorMantenimiento especificando
     * la causa y el detalle del mensaje especificado.<br />
     * @param   message El detalel del mensaje (se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     * @param   cause La causa de la excepción (se guarda para su posterior recuperación por 
     *          el método #getCause()).
     */
    public GestorMantenimientoException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructor de la clase GestorMantenimientoException.<br />
     * Construye una nueva excepcion del GestorMantenimiento con el detalle del mensaje
     * especificado.<br />
     * La causa no es inicializada, y puede ser después inicializada mediante
     * una llamada a #initCause
     * @param   message El detalle del mensaje (se guarda para 
     *          su posterior recuperación por el método #getMessage()).
     */
    public GestorMantenimientoException(String message) {
        super(message);
    }

    /**
     * Constructor de la clase GestorMantenimientoException.<br />
     * Constructor heredado de la clase Exception, sin parámetros. 
     * Es el casopor defecto.
     */
    public GestorMantenimientoException() {
        super();
    }
}